package com.example.kotlindemo

class Goods<T>(val callBack:(a:Int,b:String)->Unit, name:String){
    var data:T?=null
    fun test(){
        callBack(3,"ggg");
    }
}
fun main() {

    val f1:(Int,String)->String=test@{it,s->

        if(it>3)return@test "aaa"

        "hello"
    }

}

fun t2(){
        myLabel@ for (i in 1..5) {
            for (j in 1..5) {
                if (j == 3) {
                    println("跳出到标签 myLabel 的外部")
                    break@myLabel // 跳出标签 myLabel 的外层循环
                }
                println("i = $i, j = $j")
            }
        }
        println("循环已结束")
}

fun t3(){
    val numbers = listOf(1, 2, 3, 4, 5)

    // 使用 return@forEach 标签，仅从 Lambda 返回，不跳出 main 函数
    numbers.forEach { number ->
        if (number == 3) {
            println("跳过数字 3，但不会退出 main 函数")
            return@forEach // 仅跳出 Lambda，不影响 main 函数的执行
        }
        println("当前数字: $number")
    }

    println("这行代码会被执行，因为没有跳出 main 函数")
}


fun t1(a:Int,b:String,cal:()->Unit){
    cal()
}
